home *** CD-ROM | disk | FTP | other *** search
- Submitted-by: nick@santec.boston.ma.us (Nick Stoughton)
-
- As the new Usenix standards editor (watch this space for more on this),
- I should get this comment on January's Posix.9 meeting published before
- we get to the April one...
-
- Report on POSIX.9: FORTRAN Bindings
-
- Michael J. Hannah <mjhanna@sandia.gov>, the chair of the POSIX.9
- committee, gives his views on the January meeting of the POSIX.9,
- and the new POSIX.19 committees.
-
- The POSIX.9 (Fortran bindings) group, though sparsely attended, did meet in
- January and made progress towards their next project. While other IEEE
- standards have been drafted by three people, this is uncommon for POSIX. A
- committee of such small size implies a very significant reliance on the
- ultimate balloting group. There is nothing wrong with a small group doing
- the draft, but before such a draft becomes a standard it must be
- reviewed and examined by a much larger, representative, balloting group.
- While there may be nothing improper or illegal with this approach, I
- would certainly like to see more participation in our meetings.
-
- IEEE Std 1003.9-1992 is approved and was available for purchase at this
- meeting. This standard completely defines how to access ALL
- functionality of ISO/IEC 9945-1:1990 from FORTRAN 77, as well as
- defining a generalized way to access any operating system structure and
- defining byte-stream I/O for FORTRAN 77. Since FORTRAN 77 is
- essentially a subset of the new Fortran 90 standard, IEEE Std
- 1003.9-1992 is completely usable in a Fortran 90 environment. Like any
- standards committee that just completed a standard, the committee
- discussed how to convince vendors to implement this standard, and how
- to convince users to demand this standard from the vendors.
-
- Actual work was begun on draft 0 of the next project for this
- committee, P1003.19, which is a binding between the Language
- Independent Specification (LIS) of 1003.1 and the new Fortran 90
- language standard. This Project Authorization Request (PAR) was
- approved by the IEEE standards board in Sept 1992, though approved over
- a year ago by the SEC. Part of the delay was ensuring complete liaison
- with X3J3, the Fortran Language committee. At their August 1992
- meeting, the X3J3 approved an official resolution endorsing the scope
- of the P1003.19 PAR and agreed to active liaison with the 1003.9
- committee. This is significant since the P1003.19 PAR includes in its
- scope the ability to define extensions to the base language standard of
- Fortran 90. One of the major unresolved objections in balloting IEEE
- Std 1003.9- 1992 was that many of the functions could have been defined
- as simple extensions to the base standard syntax. For example, mode
- bits could be included as an extension to the Fortran OPEN statement,
- etc. Such an approach is planned for the P1003.19 work.
-
- The committee began by discussing the overall approach to the new
- work. In addition to examining the new language features in Fortran
- 90, the committee discussed how this new binding should relate to the
- 1003.1 LIS and its companion 1003.1 C binding. While this POSIX
- standards body is focused on portability of applications, as an end
- user I am particularly concerned about portability for application
- writers. Whether to point to the LIS or point to the ``historical
- practice'' of C is a contentious issue. For example, the LIS describes
- a procedure called change_file_mode, while the traditional C
- function is called chmod. In IEEE Std 1003.9-1992, because any
- function/subroutine name in FORTRAN 77 was exposed to the loader, and
- since the IEEE Std 1003.9-1992 routine to change file mode had to be
- slightly different than chmod, we had to give it a distinct name,
- PXFCHMOD. Because of the new features of Fortran 90, module
- names used by an application are not necessarily exposed to the
- loader. Thus we COULD now call the Fortran 90 routine chmod
- without fear of conflict with a different C library routine of the same
- name. Using chmod as the name is intuitive to any programmer
- coming from the C world, but is not intuitive to a strictly Fortran
- programmer. While the argument in this example may be stronger for
- chmod since there is also a 1003.2 command by that same name,
- such an argument does not apply to all 1003.1 functions. If you really
- believe in the concept of the LIS, and especially if the new C binding
- is ``thin,'' then a name that is the same as the LIS
- change_file_mode might be more appropriate. A Fortran 90
- bindings reader should need at most the 1003.19 binding and the 1003.1
- LIS. However, many LIS names are more than 31 characters, so some
- mapping may be required, or an extension to Fortran 90 to recognize
- uniqueness in names longer than 31 characters. This seems to be
- something like a religious issue, where parties on each side are
- CERTAIN that their position is correct, and the only intelligent
- position. The current committee default is to use the long LIS names,
- NOT the familiar C names, but this may change.
-
- One item of interest is that new constructs in Fortran 90 seem to
- permit the binding to be completely specified as Fortran 90 code
- fragments. Whether the IEEE and ISO document structures could be
- accommodated by this is unclear. For an implementation, you would like
- to give an electronic copy of the binding (code fragments) to the
- implementor so they could simply add the rest of the code necessary on
- their implementation. Since the code fragments completely define the
- application interfaces, this would be a boon for everybody. However,
- such a scheme also raises the question among the lawyer folk as to what
- this would mean with regard to the IEEE copyright of the binding.
-
- Finally, the committee was actively involved in the hot debate
- concerning whether the POSIX Executive Committee should rescind its
- mandatory requirement for base POSIX standards to be developed as
- Language Independent Specifications (LIS). As a language binding
- committee we are viewed as the direct beneficiaries of the work to
- produce an LIS. The members of the bindings committee of both the
- 1003.4-Ada and 1003.9-Fortran have strong opinions on this issue.
-
- The 1003.9 committee is scheduled to meet the first three days of the April
- POSIX meeting.
-
- Volume-Number: Volume 31, Number 34
-
-